package com.winit.openapi.wh.utils;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;

import com.winit.openapi.constants.ErrorCode;
import com.winit.openapi.exception.ApiException;
import com.winit.openapi.util.DateUtil;

/**
 * 
 * 校验日期工具类
 * @version 
 * <pre>
 * Author	  Version		Date		Changes
 * dinghua.an	1.0  		2015年12月5日 	Created
 *
 * </pre>
 * @since 1.
 */
public class ValidateDateUtitls {
    /**
     * 提货时间格式校验（卖家网站）
     * @param object
     * @param key
     */
    public static void validDate(Object object, String key) {
        String[] dates = object.toString().split("\\|");
        if (dates.length != 2 || StringUtils.isBlank(dates[0]) || StringUtils.isBlank(dates[1])) {
            throw new ApiException(ErrorCode.FIELD_TYPE_ERROR, key);
        }

        Date date = DateUtil.parse2Date(dates[0].trim(), DateUtil.FULL_DATE_STRING);
        String v = DateUtil.parse2String(date, DateUtil.FULL_DATE_STRING);
        if (!dates[0].trim().toString().equals(v)) {
            throw new ApiException(ErrorCode.FIELD_TYPE_ERROR, key);
        }
        
        date = DateUtil.parse2Date(dates[1].trim(), DateUtil.FULL_DATE_STRING);
        v = DateUtil.parse2String(date, DateUtil.FULL_DATE_STRING);
        if (!dates[1].trim().toString().equals(v)) {
            throw new ApiException(ErrorCode.FIELD_TYPE_ERROR, key);
        }
        
    }
    
    /**
     * 提货时间格式校验（卖家网站）
     * @param object
     * @param key
     */
    public static void validDate(String object, String key) {
        if (StringUtils.isBlank(object)) {
            throw new ApiException(ErrorCode.FIELD_TYPE_ERROR, key);
        }

        Date date = DateUtil.parse2Date(object.trim(), DateUtil.FULL_DATE_STRING);
        String v = DateUtil.parse2String(date, DateUtil.FULL_DATE_STRING);
        if (!object.trim().toString().equals(v)) {
            throw new ApiException(ErrorCode.FIELD_TYPE_ERROR, key);
        }
    }
}
